/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.hogent.iii.project.client.berichthandlers;

import be.hogent.iii.project.client.gui.gameroom.GameRoomGuiFrame;
import be.hogent.iii.project.client.gui.login.LoginFrame;
import be.hogent.iii.project.common.bericht.Bericht;
import be.hogent.iii.project.common.bericht.GeefSpelenBericht;
import be.hogent.iii.project.common.bericht.GeefSpelersBericht;
import be.hogent.iii.project.common.bericht.login.IngelogdAntwoordBericht;
import com.thoughtworks.xstream.XStream;

/**
 *
 * @author Caribou
 */
public class ClientIngelogdAntwoordBerichtHandler implements BerichtHandler {

    public ClientIngelogdAntwoordBerichtHandler() {
    }

    public void handle(Bericht bericht) {
        IngelogdAntwoordBericht gegevens = new IngelogdAntwoordBericht();
        Class loginAntwoordKlasse = gegevens.getClass();
        gegevens = (IngelogdAntwoordBericht) loginAntwoordKlasse.cast(bericht);
        if (gegevens.getIngelogdeGebruiker() != null && !gegevens.isReedsIngelogd()) {

            System.out.println("De login was succesvol");
            System.out.println(gegevens.getIngelogdeGebruiker().getNick() + " ingelogd!");

            GameRoomGuiFrame gui = new GameRoomGuiFrame(gegevens.getIngelogdeGebruiker(), LoginFrame.getLoginFrame().getConnectie());

            XStream xStream = new XStream();
            gui.getConnectie().stuurBericht(xStream.toXML(new GeefSpelenBericht()));
            //gui.getConnectie().stuurBericht(xStream.toXML(new GeefSpelersBericht()));
            gui.setVisible(true);

            LoginFrame.getLoginFrame().dispose();
            
        } else if (gegevens.isReedsIngelogd()) {

                LoginFrame.getLoginFrame().setLabelFout("U bent reeds ingelogd. ");
            }else  {
            System.out.println("Fout wachtwoord of naam!");
            LoginFrame.getLoginFrame().setLabelFout("Foute login, probeer opnieuw.");
        }
    }
}
